﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TibcoWinform
{
    [Serializable]
    public class CustomerDataStruct : ICloneable
    {
        public CustomerDataStruct()
        {
            BODY = new BodyInfo();
        }
        public string NAME { get; set; }
        public string ID { get; set; }
        public BodyInfo BODY { get; set; }

        public object Clone()
        {
            var obj = MemberwiseClone() as CustomerDataStruct;
            obj.BODY = BODY.Clone() as BodyInfo;
            return obj;
        }
        public override string ToString()
        {
            return "";
        }
    }
    [Serializable]
    [TypeConverter(typeof(ExpandableObjectConverter))]
    public class BodyInfo : ICloneable
    {
        public BodyInfo()
        {
            DEFECT_INFO = new DefectInfo();
        }
        public string LOTID { get; set; }
        public string EQPID { get; set; }
        public string LINEID { get; set; }
        public string RWFLAG { get; set; }
        public string QTY { get; set; }
        public string FINALGRADE { get; set; }
        public string NEXTOPERID { get; set; }
        public string USERID { get; set; }
        public string COMMENT { get; set; }
        public DefectInfo DEFECT_INFO { get; set; }

        public object Clone()
        {
            var obj = MemberwiseClone() as BodyInfo;
            obj.DEFECT_INFO = DEFECT_INFO.Clone() as DefectInfo;
            return obj;
        }
        public override string ToString()
        {
            return "";
        }
    }
    [Serializable]
    [TypeConverter(typeof(ExpandableObjectConverter))]
    public class DefectInfo : ICloneable
    {
        public string LOTID { get; set; }
        public string GLASSID { get; set; }
        public string DEFECTNO { get; set; }
        public string DEFECTCODE { get; set; }
        public string DEFECTPOSITION { get; set; }
        public string MAJORDEFECT { get; set; }
        public string FLAG { get; set; }
        public string DESCRIPTION { get; set; }

        public object Clone()
        {
            return MemberwiseClone();
        }
        public override string ToString()
        {
            return "";
        }
    }
}
